# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR The FreeBSD Project
# This file is distributed under the same license as the FreeBSD Documentation package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
"POT-Creation-Date: 2022-10-30 14:39-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. type: YAML Front Matter: description
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:1
#, no-wrap
msgid "Upgrading a FreeBSD Port"
msgstr ""

#. type: YAML Front Matter: title
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:1
#, no-wrap
msgid "Chapter 11. Upgrading a Port"
msgstr ""

#. type: Title =
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:13
#, no-wrap
msgid "Upgrading a Port"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:52
msgid ""
"When a port is not the most recent version available from the authors, "
"update the local working copy of [.filename]#/usr/ports#.  The port might "
"have already been updated to the new version."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:56
msgid ""
"When working with more than a few ports, it will probably be easier to use "
"Git to keep the whole ports collection up-to-date, as described in the "
"extref:{handbook}[Handbook, ports-using].  This will have the added benefit "
"of tracking all the port's dependencies."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:61
msgid ""
"The next step is to see if there is an update already pending.  To do this, "
"there are two options.  There is a searchable interface to the https://bugs."
"freebsd.org/search/[FreeBSD Problem Report (PR) or bug database].  Select "
"`Ports & Packages` in the `Product` multiple select menu, and enter the name "
"of the port in the `Summary` field."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:65
msgid ""
"If there is no pending PR, the next step is to send an email to the port's "
"maintainer, as shown by `make maintainer`.  That person may already be "
"working on an upgrade, or have a reason to not upgrade the port right now "
"(because of, for example, stability problems of the new version), and there "
"is no need to duplicate their work.  Note that unmaintained ports are listed "
"with a maintainer of `ports@FreeBSD.org`, which is just the general ports "
"mailing list, so sending mail there probably will not help in this case."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:67
msgid ""
"If the maintainer asks you to do the upgrade or there is no maintainer, then "
"help out FreeBSD by preparing the update! Please do this by using the man:"
"diff[1] command in the base system."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:69
msgid ""
"To create a suitable `diff` for a single patch, copy the file that needs "
"patching to [.filename]#something.orig#, save the changes to [."
"filename]#something# and then create the patch:"
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:73
#, no-wrap
msgid "% diff -u something.orig something > something.diff\n"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:80
msgid ""
"Otherwise, either use the `git diff` method (<<git-diff>>) or copy the "
"contents of the port to an entire different directory and use the result of "
"the recursive man:diff[1] output of the new and old ports directories (for "
"example, if the modified port directory is called [.filename]#superedit# and "
"the original is in our tree as [.filename]#superedit.bak#, then save the "
"result of `diff -ruN superedit.bak superedit`).  Either unified or context "
"diff is fine, but port committers generally prefer unified diffs.  Note the "
"use of the `-N` option-this is the accepted way to force diff to properly "
"deal with the case of new files being added or old files being deleted.  "
"Before sending us the diff, please examine the output to make sure all the "
"changes make sense.  (In particular, make sure to first clean out the work "
"directories with `make clean`)."
msgstr ""

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:84
msgid ""
"If some files have been added, copied, moved, or removed, add this "
"information to the problem report so that the committer picking up the patch "
"will know what man:git[1] commands to run."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:89
msgid ""
"To simplify common operations with patch files, use `make makepatch` as "
"described in crossref:slow-porting[slow-patch,Patching].  Other tools "
"exists, like [.filename]#/usr/ports/Tools/scripts/patchtool.py#.  Before "
"using it, please read [.filename]#/usr/ports/Tools/scripts/README.patchtool#."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:93
msgid ""
"If the port is unmaintained, and you are actively using it, please consider "
"volunteering to become its maintainer.  FreeBSD has over 4000 ports without "
"maintainers, and this is an area where more volunteers are always needed.  "
"(For a detailed description of the responsibilities of maintainers, refer to "
"the section in the extref:{developers-handbook}[Developer's Handbook, "
"POLICIES-MAINTAINER].)"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:99
msgid ""
"To submit the diff, use the https://bugs.freebsd.org/submit/[bug submit "
"form] (product `Ports & Packages`, component `Individual Port(s)`).  Always "
"include the category with the port name, followed by colon, and brief "
"descripton of the issue.  Examples: `_category/portname_: _add FOO option_`; "
"`_category/portname_: _Update to X.Y_`.  Please mention any added or deleted "
"files in the message, as they have to be explicitly specified to man:git[1] "
"when doing a commit.  Do not compress or encode the diff."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:102
msgid ""
"Before submitting the bug, review the extref:{problem-reports}[Writing the "
"problem report, pr-writing] section in the Problem Reports article.  It "
"contains far more information about how to write useful problem reports."
msgstr ""

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:108
msgid ""
"If the upgrade is motivated by security concerns or a serious fault in the "
"currently committed port, please notify the {portmgr} to request immediate "
"rebuilding and redistribution of the port's package.  Unsuspecting users of "
"`pkg` will otherwise continue to install the old version via `pkg install` "
"for several weeks."
msgstr ""

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:115
msgid ""
"Please use man:diff[1] or `git diff` to create updates to existing ports.  "
"Other formats include the whole file and make it impossible to see just what "
"has changed.  When diffs are not included, the entire update might be "
"ignored."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:118
msgid ""
"Now that all of that is done, read about how to keep up-to-date in crossref:"
"keeping-up[keeping-up,Keeping Up]."
msgstr ""

#. type: Title ==
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:120
#, no-wrap
msgid "Using Git to Make Patches"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:129
msgid ""
"When possible, please submit a man:git[1] patch or diff.  They are easier to "
"handle than diffs between \"new and old\" directories.  It is easier to see "
"what has changed, and to update the diff if something was modified in the "
"Ports Collection since the work on it began, or if the committer asks for "
"something to be fixed.  Also, a patch generated with man:git-format-patch[1] "
"or man:git-diff[1] can be easily applied with man:git-am[1] or man:git-"
"apply[1] and will save some time for the committer.  Finally, the git patch "
"generated by man:git-format-patch[1] includes your author information and "
"commit messages.  These will be recorded in the log of the repository and "
"this is the recommended way to submit your changes."
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:134
#, no-wrap
msgid ""
"% git clone https://git.FreeBSD.org/ports.git ~/my_wrkdir <.> <.>\n"
"% cd ~/my_wrkdir\n"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:137
msgid ""
"This can be anywhere, of course. Building ports is not limited to within [."
"filename]#/usr/ports/#."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:139
msgid ""
"https://git.FreeBSD.org/[git.FreeBSD.org] is the FreeBSD public Git server. "
"See extref:{handbook}mirrors[FreeBSD Git Repository URL Table, git-url-"
"table] for more information."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:142
msgid ""
"While in the port directory, make any changes that are needed.  If adding, "
"moving, or removing a file, use `git` to track these changes:"
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:148
#, no-wrap
msgid ""
"% git add new_file\n"
"% git mv old_name new_name\n"
"% git rm deleted_file\n"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:151
msgid ""
"Make sure to check the port using the checklist in crossref:quick-"
"porting[porting-testing,Testing the Port] and crossref:quick-porting[porting-"
"portlint,Checking the Port with `portlint`]."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:153
msgid "Also, update the checksum reference in distinfo with `make makesum`."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:157
msgid ""
"Before making the patch, fetch the latest repository and rebase the changes "
"on top of it.  Watch and follow the output carefully.  If any of the files "
"failed to rebase, it means that the upstream files changed while you were "
"editing the same file, and the conflicts need to be resolved manually."
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:162
#, no-wrap
msgid ""
"% git fetch origin main\n"
"% git rebase origin/main\n"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:165
msgid "Check the changes staged for the patch:"
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:170
#, no-wrap
msgid ""
"% git status\n"
"% git diff --staged\n"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:173
msgid "The last step is to make an unified diff or patch of the changes:"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:175
msgid "To generate a patch with man:git-format-patch[1]:"
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:180
#, no-wrap
msgid ""
"% git checkout -b my_branch\n"
"% git commit\n"
"% git format-patch main\n"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:186
msgid ""
"This will generate a patch named like `0001-foo.patch`.  This is the "
"preferred way as it would include author identity, and it is also easier "
"when you are making a series of changes that are not meant to be squashed "
"together."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:188
msgid "Alternatively, to generate an unified diff with man:git-diff[1]:"
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:191
#, no-wrap
msgid "% git diff --staged > ../`make -VPKGNAME`.diff\n"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:194
msgid ""
"This will generate a diff named like `foo-1.2.3.diff`.  Where `foo` is "
"replaced with the first line of the commit message, i.e., the subject of the "
"commit message."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:196
msgid ""
"After patch has been created, you can switch to the main branch for starting "
"other developments."
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:199
#, no-wrap
msgid "% git checkout main\n"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:202
msgid ""
"Once the patch is accepted and merged, you can delete the local development "
"branch if you want:"
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:205
#, no-wrap
msgid "% git branch -D my_branch\n"
msgstr ""

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:212
msgid ""
"If files have been added, moved, or removed, include the man:git[1] `add`, "
"`mv`, and `rm` commands that were used.  `git mv` must be run before the "
"patch can be applied.  `git add` or `git rm` must be run after the patch is "
"applied."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:215
msgid ""
"Send the patch following the extref:{problem-reports}[problem report "
"submission guidelines, pr-writing]."
msgstr ""

#. type: Title ==
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:217
#, no-wrap
msgid "UPDATING and MOVED"
msgstr ""

#. type: Title ===
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:220
#, no-wrap
msgid "/usr/ports/UPDATING"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:224
msgid ""
"If upgrading the port requires special steps like changing configuration "
"files or running a specific program, it must be documented in this file.  "
"The format of an entry in this file is:"
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:230
#, no-wrap
msgid ""
"YYYYMMDD:\n"
"  AFFECTS: users of portcategory/portname\n"
"  AUTHOR: Your name <Your email address>\n"
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:232
#, no-wrap
msgid "  Special instructions\n"
msgstr ""

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:239
msgid ""
"When including exact portmaster, portupgrade, and/or pkg instructions, "
"please make sure to get the shell escaping right.  For example, do _not_ use:"
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:243
#, no-wrap
msgid "# pkg delete -g -f docbook-xml* docbook-sk* docbook[2345]??-* docbook-4*\n"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:247
msgid ""
"As shown, the command will only work with bourne shells.  Instead, use the "
"form shown below, which will work with both bourne shell and c-shell:"
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:251
#, no-wrap
msgid "# pkg delete -g -f docbook-xml\\* docbook-sk\\* docbook\\[2345\\]\\?\\?-\\* docbook-4\\*\n"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:259
msgid ""
"It is recommended that the AFFECTS line contains a glob matching all the "
"ports affected by the entry so that automated tools can parse it as easily "
"as possible.  If an update concerns all the existing BIND 9 versions the "
"`AFFECTS` content must be `users of dns/bind9*`, it must _not_ be `users of "
"BIND 9`"
msgstr ""

#. type: Title ===
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:262
#, no-wrap
msgid "/usr/ports/MOVED"
msgstr ""

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:268
msgid ""
"This file is used to list moved or removed ports.  Each line in the file is "
"made up of the name of the port, where the port was moved, when, and why.  "
"If the port was removed, the section detailing where it was moved can be "
"left blank.  Each section must be separated by the `|` (pipe) character, "
"like so:"
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:272
#, no-wrap
msgid "old name|new name (blank for deleted)|date of move|reason\n"
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:276
msgid ""
"The date must be entered in the form `YYYY-MM-DD`.  New entries are added to "
"the end of the list to keep it in chronological order, with the oldest entry "
"at the top of the list."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:278
msgid ""
"If a port was removed but has since been restored, delete the line in this "
"file that states that it was removed."
msgstr ""

#. type: Plain text
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:280
msgid ""
"If a port was renamed and then renamed back to its original name, add a new "
"one with the intermediate name to the old name, and remove the old entry as "
"to not create a loop."
msgstr ""

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:284
msgid "Any changes must be validated with `Tools/scripts/MOVEDlint.awk`."
msgstr ""

#. type: delimited block = 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:286
msgid "If using a ports directory other than [.filename]#/usr/ports#, use:"
msgstr ""

#. type: delimited block . 4
#: documentation/content/en/books/porters-handbook/upgrading/_index.adoc:291
#, no-wrap
msgid ""
"% cd /home/user/ports\n"
"% env PORTSDIR=$PWD Tools/scripts/MOVEDlint.awk\n"
msgstr ""
